package com.txts.road.admin.beidou.api.v1.service;

import com.txts.road.admin.beidou.api.v1.model.MessageEntity;
import com.txts.road.admin.beidou.api.v1.model.MessageReceiveRequest;
import com.txts.road.admin.beidou.api.v1.model.MessageReceiveResponse;
import com.txts.road.admin.beidou.api.v1.model.vo.MessageVO;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestParam;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * @author baoyr
 * @version 1.0
 * @description: 北斗信息接口
 * @date 2025/7/24 17:54
 */
public interface BeidouMessageService {
    /**
     * 接收北斗信息
     *
     * @param requestId 请求ID
     * @param request   接收信息请求参数
     * @return 接收结果
     */
    MessageReceiveResponse receive(String requestId, MessageReceiveRequest request);


    /**
     * 根据卡号码查询最新北斗信息
     *
     * @param idNumber 卡号码
     * @return 最新北斗信息
     */
    MessageVO getLatestMessageByIdNumber(String idNumber);


    /**
     * 获取围栏GeoJSON
     *
     * @return 围栏GeoJSON
     */
    Map<String, Object> getFenceGeoJson();

    /**
     * 根据时间范围查询北斗信息
     *
     * @param idNumber  卡号码
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return 查询结果
     */
    List<MessageVO> getMessagesByTimeRange(String idNumber, LocalDateTime startTime, LocalDateTime endTime);
}
